    function init(){
        $.ajax({
            type: "get",
            url: "/getAllCate",
            dataType: "json",
            success: function (res) {
                // console.log(res)  模板引擎渲染
                $('tbody').html(template('cateListTemp',res))
            }
        });
    }
    init();

    //添加编辑的委托事件
    $('tbody').on('click','.btnedit',function(){
        let data = $(this).data()
        console.log(data)
        $('#id').val(data.id)
        $('#name').val(data.name)
        $('#slug').val(data.slug)

        $('.optinfo').text('编辑分类数据')
        $('.btnAdd').hide()
        $('.btnEdit').show()
    })

    $('.btnEdit').on('click',function(){
        // console.log($('form').serialize())
        $.ajax({
            type: "get",
            url: "/categoriesById",
            data: $('form').serialize(),
            dataType: "json",
            success: function (res) {
                // console.log(res)
                if(res.code == 200){
                    $('.optinfo').text('添加分类数据')
                    $('.btnAdd').show()
                    $('.btnEdit').hide()
                    $('#name').val('')
                    $('#slug').val('')
                    init();
                    alert(res.msg)

                }
            }
        });
    })

    //分类目录里的添加功能
    $('.btnAdd').on('click',function(){
        // console.log($('form').serialize())
        let name = $('#name').val()
        let slug = $('#slug').val()
        var obj = {
            name,
            slug
        }
        datastr = `name=${obj.name}&slug=${obj.slug}`
        // console.log(datastr)
        $.ajax({
            type: "get",
            url: "/categoriesAdd",
            data: datastr,
            dataType: "json",
            success: function (res) {
                // console.log(res)
                if(res.code == 200){


                    $('#name').val('')
                    $('#slug').val('')
                    alert(res.msg)
                    init()
                    // location.href = '/admin/categories'
                    
                }
            }
        })
    })


    $('tbody').on('click','.Delbtn',function(){
        let data = $(this).data().id
        // console.log(data)
        if(confirm('确定要删除吗')){
            $.ajax({
                url:'/cateDelById?id='+data,
                dataType:'json',
                success:function(res){
                    init()
                    console.log(res)
                }
            })
        }
    })


    //接下来实现批量删除  
    
    $('.chkAll').on('click',function(){
        //全选
        let status = $(this).prop('checked')
        $('tbody .chkSingle').prop('checked',status)
        //如果选中已选中的数量>1显示 批量删除
        if($('tbody .chkSingle:checked').length>1){
            $('.btndels').fadeIn(500)
        }else{
            $('.btndels').fadeOut(500)
        }
    })

    //反选
    $('tbody').on('click','.chkSingle',function(){
        if($('tbody .chkSingle:checked').length>1){
            $('.btndels').fadeIn(500)
        }else{
            $('.btndels').fadeOut(500)
        }
        //当前复选框的数量和 已经选中的复选框的数量相等
        let cnt = $('tbody .chkSingle:checked').length
        let total = $('tbody .chkSingle').length

        if(cnt == total){
            $('.chkAll').prop('checked',true)
        }else{
            $('.chkAll').prop('checked',false)
        }
    })

    //实现批量删除
    $('.btndels').on('click',function(){
        if(!confirm('是否确定删除')){
            return
        }

        //把选中的id放到数组里面
        let chks = $('tbody .chkSingle:checked')
        
        let ids = []
        for(var i = 0;i<chks.length;i++){
            ids.push($(chks[i]).data().id)
        }
        // console.log(ids)
        $.ajax({
            type: "get",
            url: '/delCateById?id=' + ids.join(','),
            dataType: "json",
            success: function (res) {
                // console.log(res)
                if(res.code == 200){
                    $('.alert-danger > span').text(res.msg)
                    $('.alert-danger').fadeIn(500).delay(3000).fadeOut(500)
                    init();
                    alert(res.msg)
                }
            }
        });
    })